# -*- coding: utf-8 -*-
# https://blog.csdn.net/weixin_52040868
# 公众号：测个der
# 微信：qing_an_an

from PyQt5.QtWidgets import *
from PyQt5.QtCore import *
import sys

class WinTime(QWidget):
    def __init__(self):
        super(WinTime, self).__init__()

        # 实例化弹窗
        self.listFile = QListWidget()
        self.label = QLabel("显示当前时间")
        self.startBtn = QPushButton("开始")
        self.endBtn = QPushButton("结束")

        # 栅格布局
        layout = QGridLayout()

        # 初始化定时器
        self.timer = QTimer()
        # 连接槽
        self.timer.timeout.connect(self.showTime)

        # 添加控件到栅格指定位置
        layout.addWidget(self.label,0,0,1,2)
        layout.addWidget(self.startBtn,1,0)
        layout.addWidget(self.endBtn,1,1)

        # 开始结束按钮点击触发相应的槽函数
        self.startBtn.clicked.connect(self.startTime)
        self.endBtn.clicked.connect(self.endTime)

        self.setLayout(layout)

    def showTime(self):
        # 获取系统时间
        time = QDateTime.currentDateTime()
        # 显示系统时间，设置格式
        timeDisplay = time.toString("yyyy-MM-dd hh:mm:ss dddd")
        self.label.setText(timeDisplay)

    def startTime(self):
        # 设置时间间隔并启动定时器
        self.timer.start(1000)
        # 设置开始按钮不可点击，结束按钮可点击
        self.startBtn.setEnabled(False)
        self.endBtn.setEnabled(True)

    def endTime(self):
        # 停止定时器
        self.timer.stop()
        # 结束按钮不可点击，开始按钮可以点击
        self.startBtn.setEnabled(True)
        self.endBtn.setEnabled(False)


if __name__ == '__main__':
    app = QApplication(sys.argv)
    win = WinTime()
    win.show()
    sys.exit(app.exec_())